import request from '@/utils/Request.js'

// 用户认证相关API
export const userAPI = {
  // 用户注册
  register(data) {
    return request({
      method: 'POST',
      url: '/user/register',
      data
    })
  },

  // 用户登录
  login(data) {
    return request({
      method: 'POST',
      url: '/user/login',
      data
    })
  },

  // 用户退出登录
  logout() {
    return request({
      method: 'POST',
      url: '/user/logout'
    })
  },

  // 获取用户信息
  getUserInfo(data) {
    return request({
      method: 'POST',
      url: '/user/getInfo',
      data
    })
  },

  // 更新用户信息
  updateUserInfo(data) {
    return request({
      method: 'POST',
      url: '/user/updateInfo',
      data
    })
  },

  // 上传头像
  uploadAvatar(formData) {
    return request({
      method: 'POST',
      url: '/user/uploadAvatar',
      data: formData,
      headers: {
        'Content-Type': 'multipart/form-data'
      }
    })
  },

  // 获取用户徽章
  getUserBadges() {
    return request({
      method: 'POST',
      url: '/user/getBadge'
    })
  },

  // 获取用户发布的帖子
  getUserPosts(data) {
    return request({
      method: 'POST',
      url: '/user/getUserPost',
      data
    })
  },

  // 获取消息数量
  getMessageCount() {
    return request({
      method: 'POST',
      url: '/user/getMessageCount'
    })
  },

  // 获取消息列表
  getMessageList(data) {
    return request({
      method: 'POST',
      url: '/user/getMessageList',
      data
    })
  },

  // 获取未读信息数量
  getUnreadMessageCount() {
    return request({
      method: 'POST',
      url: '/user/getUnreadMessageCount'
    })
  },

  // 获取每日点赞前5用户
  getDailyTopUser() {
    return request({
      method: 'POST',
      url: '/user/getDailyTop',
    })
  },

  // 发送验证邮件
  sendVerificationCode(data) {
    return request({
      method: 'POST',
      url: '/user/sendVerificationCode',
      data
    })
  },

  // 外部用户注册接口
  externalRegister(data) {
    return request({
      method: 'POST',
      url: '/user/externalRegister',
      data
    })
  },

  // 上传证明图片接口
  uploadSupportImage(formData) {
    return request({
      method: 'POST',
      url: '/user/uploadSupportImage',
      data: formData,
      headers: {
        'Content-Type': 'multipart/form-data'
      }
    })
  },

  // 删除证明图片接口
  deleteSupportImage(data) {
    return request({
      method: 'POST',
      url: '/user/deleteSupportImage',
      data
    })
  },

  // 外来用户发送验证邮件
  sendExternalVerificationCode(data) {
    return request({
      method: 'POST',
      url: '/user/sendExternalVerificationCode',
      data
    })
  }
}

export default userAPI